import service from '@/request/index.js'
import { timestamp, getCurrentTimestamp } from '@/api/tool.js'

//1. 城市列表
export const getCitiesInfo = () => {
  return service.get('/getCitiesInfo')
}
/**
 * 2. 获取正在热映的电影列表
 * @param {number} cityId - 城市 ID
 * @param {number} pageNum - 页码
 * @param {number} pageSize - 每页显示的数量
 * @returns {Promise} - 返回一个 Promise，解析为包含电影列表的响应数据
 */
export const getNowPlayingFilmList = (cityId, pageNum, pageSize) => {
  return service.get(
    `/getNowPlayingFilmList?cityId=${cityId}&pageNum=${pageNum}&pageSize=${pageSize}`,
  )
}
/**
 * 3. 获取即将上映的电影列表
 * @param {number} cityId - 城市 ID
 * @param {number} pageNum - 页码
 * @param {number} pageSize - 每页显示的数量
 * @returns {Promise} - 返回一个 Promise，解析为包含电影列表的响应数据
 */

export const getComingSoonFilmList = (cityId, pageNum, pageSize) => {
  return service.get(
    `/getComingSoonFilmList?cityId=${cityId}&pageNum=${pageNum}&pageSize=${pageSize}`,
  )
}
/**
 * 4. 获取电影的详细信息
 * @param {number} filmId - 电影 ID
 * @returns {Promise} - 返回一个 Promise，解析为包含电影详细信息的响应数据
 */

export const getFilmDetail = (filmId) => {
  return service.get(`/getFilmInfo?filmId=${filmId}`)
}
/**
 * 5. 获取影院列表
 * @param {number} cityId - 城市 ID
 * @param {number} pageNum - 页码
 * @param {number} pageSize - 每页显示的数量
 * @returns {Promise} - 返回一个 Promise，解析为包含影院列表的响应数据
 */
export const getCinemaList = (cityId, pageNum, pageSize) => {
  return service.get(`/getCinemaList?cityId=${cityId}&pageNum=${pageNum}&pageSize=${pageSize}`)
}

/**
 * 6. 获取影院的基本信息
 * @param {number} cinemaId - 影院 ID
 * @returns {Promise} - 返回一个 Promise，解析为包含影院基本信息的响应数据
 */
export const getCinemaInfo = (cinemaId) => {
  return service.get(`/getCinemaInfo?cinemaId=${cinemaId}`)
}

/**
 * 7. 获取影院的电影排片信息
 * @param {number} cinemaId - 影院 ID
 * @returns {Promise} - 返回一个 Promise，解析为包含影院电影排片信息的响应数据
 */
export const getCinemaFilmsArrangement = (cinemaId) => {
  return service.get(`/getCinemaFilmsArrangement?cinemaId=${cinemaId}&date=${getCurrentTimestamp()}`)
}

/**
 * 8. 获取影院的影片场次信息
 * @param {number} cinemaId - 影院 ID
 * @param {number} filmId - 电影 ID
 * @param {string} date - 日期 当日0点整的时间戳
 * @returns {Promise} - 返回一个 Promise，解析为依据影院id和电影id获取影院指定日期的场次信息
 */
export const getCinemaFilmSchedules = (cinemaId, filmId, date = timestamp) => {
  return service.get(`/getCinemaFilmSchedules?cinemaId=${cinemaId}&filmId=${filmId}&date=${date}`)
}
